JSON (JavaScript Object Notation) হল একটি হালকা ডেটা বিনিময় ফরম্যাট, যা বিভিন্ন সিস্টেম এবং অ্যাপ্লিকেশনের মধ্যে ডেটা ট্রান্সফার করতে ব্যবহৃত হয়। Java দিয়ে JSON ডেটার ম্যানিপুলেশন এবং ফিল্টারিং করা যেতে পারে, যেমন: JSON ডেটা থেকে নির্দিষ্ট মান বা বৈশিষ্ট্য বের করা, পরিবর্তন করা, অথবা নতুন ডেটা যুক্ত করা।
এখানে, JSON Data Filtering এবং Manipulation এর কিছু মৌলিক পদ্ধতি আলোচনা করা হবে, যেখানে Jackson এবং Gson লাইব্রেরি ব্যবহার করা হবে।
1. Jackson ব্যবহার করে JSON Data Filtering এবং Manipulation
Jackson হল একটি জনপ্রিয় Java লাইব্রেরি যা JSON ডেটা পার্স, সিরিয়ালাইজেশন, এবং ডেসিরিয়ালাইজেশন এর জন্য ব্যবহৃত হয়। Jackson JSON ডেটার ফিল্টারিং এবং ম্যানিপুলেশন সহজে করার জন্য বিভিন্ন সরঞ্জাম প্রদান করে।
Jackson Dependency
Jackson লাইব্রেরি ব্যবহার করার জন্য Maven এ নিচের ডিপেনডেন্সি যুক্ত করতে হবে:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
JSON ফিল্টারিং এবং ম্যানিপুলেশন উদাহরণ (Jackson)
ধরা যাক, আমাদের একটি JSON ডেটা আছে:
{
"name": "John",
"age": 30,
"city": "New York",
"address": {
"street": "123 Main St",
"postalCode": "10001"
}
}
JSON ফিল্টারিং
ফিল্টারিং মানে হল JSON ডেটা থেকে কিছু নির্দিষ্ট বৈশিষ্ট্য বা তথ্য বেছে নেওয়া।
Jackson ব্যবহার করে JSON ডেটা থেকে নির্দিষ্ট ফিল্ড বের করা:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;
public class JsonFiltering {
public static void main(String[] args) throws IOException {
String json = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\", \"address\": { \"street\": \"123 Main St\", \"postalCode\": \"10001\" } }";
// ObjectMapper এর মাধ্যমে JSON পার্স করা
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode objectNode = (ObjectNode) objectMapper.readTree(json);
// JSON থেকে কিছু ফিল্ড ফিল্টার করা (যেমন "age" এবং "address" কে বাদ দেওয়া)
objectNode.remove("age");
objectNode.remove("address");
// ফিল্টার করা JSON দেখানো
System.out.println(objectMapper.writeValueAsString(objectNode));
}
}
এখানে, remove() মেথড ব্যবহার করে age এবং address ফিল্ডগুলো বাদ দেওয়া হয়েছে।
JSON ম্যানিপুলেশন
JSON ডেটাতে নতুন ফিল্ড যোগ করা বা বিদ্যমান ফিল্ড আপডেট করা।
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;
public class JsonManipulation {
public static void main(String[] args) throws IOException {
String json = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
// ObjectMapper এর মাধ্যমে JSON পার্স করা
ObjectMapper objectMapper = new ObjectMapper();
ObjectNode objectNode = (ObjectNode) objectMapper.readTree(json);
// নতুন ফিল্ড যোগ করা
objectNode.put("country", "USA");
// বিদ্যমান ফিল্ড আপডেট করা
objectNode.put("age", 31);
// ম্যানিপুলেট করা JSON দেখানো
System.out.println(objectMapper.writeValueAsString(objectNode));
}
}
এখানে, নতুন ফিল্ড country যোগ করা হয়েছে এবং age ফিল্ডের মান 31 এ আপডেট করা হয়েছে।
2. Gson ব্যবহার করে JSON Data Filtering এবং Manipulation
Gson হল একটি আরেকটি জনপ্রিয় লাইব্রেরি যা Java অবজেক্টকে JSON ফরম্যাটে কনভার্ট এবং JSON ডেটাকে Java অবজেক্টে কনভার্ট করতে ব্যবহৃত হয়।
Gson Dependency
Gson লাইব্রেরি ব্যবহারের জন্য Maven এ নিচের ডিপেনডেন্সি যুক্ত করতে হবে:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
JSON ফিল্টারিং এবং ম্যানিপুলেশন উদাহরণ (Gson)
ধরা যাক, আমাদের একই JSON ডেটা আছে:
{
"name": "John",
"age": 30,
"city": "New York",
"address": {
"street": "123 Main St",
"postalCode": "10001"
}
}
JSON ফিল্টারিং (Gson)
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonFilteringGson {
public static void main(String[] args) {
String json = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\", \"address\": { \"street\": \"123 Main St\", \"postalCode\": \"10001\" } }";
// JsonObject এর মাধ্যমে JSON পার্স করা
JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
// JSON থেকে কিছু ফিল্ড ফিল্টার করা
jsonObject.remove("age");
jsonObject.remove("address");
// ফিল্টার করা JSON দেখানো
System.out.println(jsonObject.toString());
}
}
এখানে, remove() মেথড ব্যবহার করে age এবং address ফিল্ডগুলো বাদ দেওয়া হয়েছে।
JSON ম্যানিপুলেশন (Gson)
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class JsonManipulationGson {
public static void main(String[] args) {
String json = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
// JsonObject এর মাধ্যমে JSON পার্স করা
JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
// নতুন ফিল্ড যোগ করা
jsonObject.addProperty("country", "USA");
// বিদ্যমান ফিল্ড আপডেট করা
jsonObject.addProperty("age", 31);
// ম্যানিপুলেট করা JSON দেখানো
System.out.println(jsonObject.toString());
}
}
এখানে, নতুন ফিল্ড country যোগ করা হয়েছে এবং age ফিল্ডের মান 31 এ আপডেট করা হয়েছে।
JSON ফিল্টারিং এবং ম্যানিপুলেশনের সুবিধা
- ডেটা প্রক্রিয়াকরণের সুবিধা: JSON ডেটা সহজে ফিল্টার এবং ম্যানিপুলেট করা যায়, যেমন: নির্দিষ্ট ফিল্ড বের করা, ফিল্ড মুছে ফেলা বা নতুন ফিল্ড যোগ করা।
- ডাইনামিক ওয়েব অ্যাপ্লিকেশন: এই টেকনিক ব্যবহার করে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করা যায় যেখানে ডেটা দ্রুত পরিবর্তন এবং প্রদর্শন করা সম্ভব।
- প্রতিবেদন এবং ডেটা বিশ্লেষণ: JSON ফিল্টারিং এবং ম্যানিপুলেশন ব্যবহার করে বড় ডেটাসেট থেকে নির্দিষ্ট ডেটা বিশ্লেষণ করা সহজ হয়।
JSON Data Filtering এবং Manipulation Java তে গুরুত্বপূর্ণ কার্যকারিতা প্রদান করে, যেখানে Jackson এবং Gson লাইব্রেরি ব্যবহারের মাধ্যমে JSON ডেটা সহজে প্রক্রিয়া করা যায়।
Read more